package cn.yhbk.web.modules.manager.Service;

import cn.yhbk.web.modules.manager.Pojo.DTO.Apply.TbApplyDto;
import cn.yhbk.web.modules.manager.Pojo.DTO.ScholarShip.ScholarShipDto;
import cn.yhbk.web.modules.manager.Pojo.Entity.OrderResultItem;
import cn.yhbk.web.modules.manager.Pojo.Entity.TbApply;
import cn.yhbk.web.modules.manager.Pojo.Entity.TbClass;
import cn.yhbk.web.modules.manager.Pojo.Entity.TbStudent;
import cn.yhbk.web.modules.manager.Pojo.VO.Apply.ApplyPag;
import cn.yhbk.web.modules.manager.Pojo.VO.Apply.ApplyResp;
import cn.yhbk.web.modules.manager.Pojo.VO.OrderResponse;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 奖学金申请表 服务类
 * </p>
 *
 * @author 有何不可
 * @since 2023-08-05
 */
public interface ITbApplyService extends IService<TbApply> {

    TbApplyDto getApplyById(Long id);

    Boolean insertApply(TbApply tbApply);

    Boolean updateApplyById(TbApply tbApply);

    Boolean deleteApplyById(Long id);

    ApplyPag getApplyInfoPag(Integer currentPage, Integer pageSize, Long typeId, Long scholarshipId, String year, Long jobNumber, Long majorId, Integer status);

    Boolean acceptApply(Long applyId, Integer status);

    Boolean removeApply(Long applyId);

    ApplyPag getStuApplyInfoPag(Integer currentPage, Integer pageSize, Long typeId, Long scholarshipId, String year, Integer status);

    void getApplyExcel(String name, Long typeId, Long scholarshipId, String year, Long jobNumber, Long majorId, Integer status);

//    List<ScholarShipDto> getStuQualification(Long id);

    Boolean apply(TbStudent student, TbClass tbClass, Long scholarshipId);

    void saveScholarshipRecord(TbApply tbApply);

    List<ApplyResp> getOrderSort(Long resultId, Long scholarshipId);

    List<OrderResponse> getOrderSortResponse(Long resultId, Long scholarshipId);
}
